package team.kirohuji.service;

import java.util.List;
import java.util.Map;

import team.kirohuji.domain.AttendanceRecord;

public interface AttendanceRecordService {

	/**
	 * 根据用户ID，查询用户
	 * 
	 * @param userId
	 *            用户主键
	 * @return AttendanceRecord
	 */
	AttendanceRecord queryObject(Integer attendanceRecordId);

	/**
	 * 查询用户列表
	 * 
	 * @param map
	 *            map对象
	 * @return AttendanceRecord
	 */
	List<AttendanceRecord> queryList(Map<String, Object> map);

	/**
	 * 查询总数
	 * 
	 * @param map
	 *            map对象
	 * @return int
	 */
	int queryTotal(Map<String, Object> map);

	/**
	 * 保存用户
	 */
	/**
	 * 保存用户
	 * 
	 * @param user
	 *            用户
	 * @throws IllegalArgumentException
	 *             异常
	 */
	void save(AttendanceRecord attendanceRecord) throws IllegalArgumentException;

	/**
	 * 修改用户
	 * 
	 * @param user
	 *            用户
	 * @throws IllegalArgumentException
	 *             异常
	 */
	void update(AttendanceRecord attendanceRecord) throws IllegalArgumentException;

	/**
	 * 删除用户
	 * 
	 * @param userIds
	 *            用户主键列表
	 */
	void deleteBatch(Integer[] ids);

	void saveOrUpdate(AttendanceRecord record);

	AttendanceRecord queryObjectByUserId(Integer systemUserId);
}